import request from '@/utils/request'

// 查询人才库模板列表
export function listTemplate(query) {
  return request({
    url: '/talent/template/list',
    method: 'get',
    params: query
  })
}

// 查询人才库模板详细
export function getTemplate(id) {
  return request({
    url: '/talent/template/' + id,
    method: 'get'
  })
}

// 根据岗位ID查询模板
export function getTemplateByPostId(postId) {
  return request({
    url: '/talent/template/post/' + postId,
    method: 'get'
  })
}

// 新增人才库模板
export function addTemplate(data) {
  return request({
    url: '/talent/template',
    method: 'post',
    data: data
  })
}

// 修改人才库模板
export function updateTemplate(data) {
  return request({
    url: '/talent/template',
    method: 'put',
    data: data
  })
}

// 删除人才库模板
export function delTemplate(ids) {
  return request({
    url: '/talent/template/' + ids,
    method: 'delete'
  })
}

// 查询模板字段列表
export function getTemplateFields(templateId) {
  return request({
    url: '/talent/template/fields/' + templateId,
    method: 'get'
  })
}

// 查询字段列表（带分页）
export function getFieldList(templateId, query) {
  return request({
    url: '/talent/template/' + templateId + '/fields/list',
    method: 'get',
    params: query
  })
}

// 批量保存字段列表
export function saveFieldList(templateId, data) {
  return request({
    url: '/talent/template/' + templateId + '/fields/batch',
    method: 'post',
    data: data
  })
}

// 保存模板字段
export function saveTemplateFields(templateId, data) {
  return request({
    url: '/talent/template/fields/' + templateId,
    method: 'post',
    data: data
  })
}

// 删除模板字段
export function delTemplateField(templateId, fieldId) {
  return request({
    url: '/talent/template/fields/' + templateId + '/' + fieldId,
    method: 'delete'
  })
}

// 查询动态表数据
export function getTableData(tableName) {
  return request({
    url: '/talent/template/data/' + tableName,
    method: 'get'
  })
}

// 保存动态表数据
export function saveTableData(tableName, data) {
  return request({
    url: '/talent/template/data/' + tableName,
    method: 'post',
    data: data
  })
}

